-
Notifications
You must be signed in to change notification settings - Fork 39
ci: implement unified build system [WPB-8645] #4059
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
ac489b2
to
e043798
Compare
Built wire-android-dev-debug-pr-4059.apk is available for download |
Built wire-android-dev-debug-pr-4059.apk is available for download |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements a unified build system for Wire Android by consolidating various branch‐specific workflows into a single, reusable, and matrix-based configuration. Key changes include:
- Introduction of unified workflows for quality gates, build, deployment, and release management.
- Consolidation of build configurations using JSON matrices for flexible, multi-target builds.
- Addition of a composite action for keystore setup to streamline signing operations.
Reviewed Changes
Copilot reviewed 8 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
.github/workflows/quality-gates.yml | New workflow to run code analysis, UI tests, and unit tests with summary reporting. |
.github/workflows/deploy.yml | Deployment workflow supporting S3, Google Play, and GitHub Releases with lowercase conversion. |
.github/workflows/build-unified.yml | Unified build workflow orchestrating quality gates, environment setup, artifact generation, etc. |
.github/workflows/build-release-candidate-unified.yml | Unified build workflow for release candidate branch with validation and deployment support. |
.github/workflows/build-production-unified.yml | Unified build workflow for production releases including version comparison validation. |
.github/workflows/build-main-unified.yml | Unified build workflow for the main branch with trigger validation. |
.github/workflows/build-develop-unified.yml | Unified build workflow for the develop branch with support for internal and external deployments. |
.github/actions/setup-keystore/action.yml | Composite action to decode and set up the keystore based on the specified keystore type. |
Comments suppressed due to low confidence (1)
.github/workflows/deploy.yml:51
- There is an inconsistency in the naming between the input ('build-flavor') and the output variable ('build-flavour'). Please consider using consistent naming to avoid confusion.
echo "build-flavour=$(echo '${{ inputs.build-flavor }}' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Built wire-android-dev-debug-pr-4059.apk is available for download |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one small improvement suggestion.
But looks 🔥
Nice one
Ups 🫰🟨This PR is too big. Please try to break it up into smaller PRs. |
36a5a36
to
7bd02fe
Compare
…mprove version file condition
…ing workflow calls
Built wire-android-dev-debug-pr-4059.apk is available for download |
…pull_request event
|
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764
The PR Description
What's new in this PR?
Issues
the current pipeline is hard to extend or change, and a lot of the stuff are not clearly visible
Solutions
Pipeline Architecture
Workflow Mapping
develop
branchbuild-develop-app.yml.disabled
build-develop-unified.yml
main
branchbuild-beta-app.yml.disabled
build-main-unified.yml
release/candidate
build-rc-app.yml.disabled
build-release-candidate-unified.yml
build-prod-app.yml.disabled
build-production-unified.yml
build-fdroid-app.yml.disabled
build-production-unified.yml
build-edge-env.yml.disabled
build-develop-unified.yml
Key Improvements
1. Unified Architecture
build-unified.yml
handles all build logicquality-gates.yml
,deploy.yml
2. Matrix-Based Builds
3. Enhanced Deployment
Build Configuration Examples
Develop Branch (Validation)
Production Release
Testing
Test Coverage (Optional)
How to Test
Briefly describe how this change was tested and if applicable the exact steps taken to verify that it works as expected.
Notes (Optional)
Specify here any other facts that you think are important for this issue.
Attachments (Optional)
Attachments like images, videos, etc. (drag and drop in the text box)
PR Post Submission Checklist for internal contributors (Optional)
PR Post Merge Checklist for internal contributors
References
feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764
.